home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / geomview / source.lha / Geomview / include / discgrp.h < prev    next >
C/C++ Source or Header  |  1993-02-13  |  3KB  |  72 lines

  1. /* Copyright (c) 1992 The Geometry Center; University of Minnesota
  2.    1300 South Second Street;  Minneapolis, MN  55454, USA;
  3.    
  4. This file is part of geomview/OOGL. geomview/OOGL is free software;
  5. you can redistribute it and/or modify it only under the terms given in
  6. the file COPYING, which you should have received along with this file.
  7. This and other related software may be obtained via anonymous ftp from
  8. geom.umn.edu; email: software@geom.umn.edu. */
  9.  
  10. /* Authors: Charlie Gunn, Stuart Levy, Tamara Munzner, Mark Phillips */
  11.  
  12. #ifndef DISCGRPDEF
  13. #define DISCGRPDEF
  14.  
  15. #include "bbox.h"
  16. #include "dgflag.h"
  17. #include "create.h"
  18. #include "appearance.h"
  19. #include "pick.h"
  20.  
  21. #ifndef NULL
  22. #define NULL 0
  23. #endif
  24.  
  25. #ifndef    FALSE
  26. #define    FALSE 0
  27. #endif
  28.  
  29. #define DISCGRPMAGIC    GeomMagic('d',1)
  30.  
  31. typedef struct DiscGrp DiscGrp ;
  32.  
  33. extern DiscGrp    *DiscGrpPick( DiscGrp *, Pick *, Appearance *, Transform );
  34. extern GeomClass *DiscGrpMethods( void );
  35. extern char    *DiscGrpName( void );
  36. extern DiscGrp    *DiscGrpFLoad( FILE *, char * );
  37. extern DiscGrp    *DiscGrpLoad( char * );
  38. extern DiscGrp    *DiscGrpSave( DiscGrp *, char * );
  39. extern DiscGrp    *DiscGrpFSave( DiscGrp *, FILE *, char * );
  40. extern BBox    *DiscGrpBound( DiscGrp *, Transform );
  41. extern DiscGrp    *DiscGrpDraw( DiscGrp * );
  42. /*
  43. extern DiscGrpElList *DiscGrpElListCreate(DiscGrpElList *, ...);
  44. extern DiscGrp    *DiscGrpEvert( DiscGrp * );
  45. extern DiscGrp     *DiscGrpTransform( DiscGrp *, Transform );
  46. extern DiscGrp     *DiscGrpTransformTo( DiscGrp *, Transform );
  47. */
  48.  
  49. /* tokens used by the create routines, not duplicated in create.h */
  50. /* we'll use the '900' region: this ought to be registered somewhere */
  51. /* DGELC == DiscGrpElListCreate
  52.    DGC == DiscGrpCreate
  53. */
  54. #define     DGCR_ATTRIBUTE    900    /* int : attributes in both DGC and DGELC */
  55. #define     DGCR_ATTRIBUTELIST 901    /* int * : list of attributes in DGELC */
  56. #define     DGCR_WORD    902    /* char (*)[DG_WORDLENGTH] : used by DiscGrpElListCreate */
  57. #define        DGCR_ELEM    903    /* DiscGrpEl * : used in DGELC  */
  58.                     /* note that CR_ELEM is also used here */
  59. #define        DGCR_CPOINT    905    /* HPoint3 * :base  point of dirichlet domain: */
  60. #define        DGCR_CAMGEOM    906    /* Geom * :geometry used to represent the observer*/
  61. #define        DGCR_DDGEOM    907    /* Geom * :geometry for Dirichlet domain */
  62. #define     DGCR_GENS    908    /* DiscGrpElList * : generators */
  63. #define     DGCR_BIGLIST    910    /* DiscGrpElList * : general list */
  64. #define     DGCR_ENUMDEPTH    911    /* int : depth to compute wordlist */
  65. #define     DGCR_ENUMDIST    912    /* float : maximum distance of tiles */
  66. #define     DGCR_SCALE    913    /* float : scaling factor for dirdom */
  67. #define     DGCR_FLAG    914    /* the flag field of the DiscGrp */
  68. #define     DGCR_NAME    915    /* the flag field of the DiscGrp */
  69. #define     DGCR_COMMENT    916    /* the flag field of the DiscGrp */
  70.  
  71. #endif /*DISCGRPDEF*/
  72.